// 定义常量路由（即不需要动态添加的静态路由），并把它们对外导出↓
export const constantRoute = [
    {
        path: '/login', // 路由路径
        // 使用ES6提供的“import”语法来导入路由组件（即启用路由懒加载（运行时加载））↓
        component: () => import('@/views/login/index.vue'), // 路由组件
        name: 'login', // 为路由命名（路由名称可被用于制作菜单权限）
        // 路由元信息↓
        meta:{
            title:'登录', // 路由标题（在导航菜单上显示）
            icon:'Promotion', // 路由图标（在导航菜单上显示（具体位置是菜单项标题文字的左边），可以使用ElementPlus组件库提供的所有图标组件）
            // 注：选项“hidden”要被写在选项“hidden”的里面（如果写在外面，那么会不生效）
            hidden:true, // 隐藏路由（也就是说该路由的标题在导航菜单上将不会被显示）
        },
        // hidden:true,
        // hidden:false,

    },
    {
        path:'/',
        // component:() => import('@/views/home/index.vue'),
        component:() => import('@/components/layout/index.vue'),
        name:'layout',
        meta:{
            // title:'layout',
            title:'',
            // icon:'Avatar',
            icon:'',
            // hidden:false,
        },
        // hidden:false,
        redirect:'/home', // 重定向（即访问根路径时，自动跳转到home路由）
        children:[
            {
                path:'/home',
                component:() => import('@/views/home/index.vue'),
                name:'home',
                meta: { title: '首页',icon:'HomeFilled',hidden:false },
                // hidden:false,
            },
            /* {
                path:'/test',
                component:() => import('@/views/home/index.vue'),
                name:'home',
                meta: { title: '测试',icon:'Histogram',hidden:false },
                // hidden:false,
            }, */
        ]
    },
    {
        path:'/screen',
        component:() => import('@/views/screen/index.vue'),
        name:'Screen',
        meta:{
            title:'数据大屏',
            icon:'Platform',
            hidden:false,
        },
        // hidden:false,
    },
    {
        path:'/acl',
        component:() => import('@/components/layout/index.vue'),
        name:'Acl',
        redirect:'/acl/user', // 重定向（即访问“一级路由”的“根路径”时，自动跳转到它下面的第一个“二级路由”（在此处是“用户管理”））
        meta:{
            title:'权限管理',
            icon:'Lock',
            // hidden:false,
        },
        // 注：当选项“hidden”的值是“false”时，该选项可以被省略（因为不写该选项时其值是“undefined”（未被定义），而“undefined”在做判断时结果就是“false”）↓
        // hidden:false,
        children:[
            {
                path:'/acl/user',
                component:() => import('@/views/acl/user/index.vue'),
                name:'User',
                meta:{ title:'用户管理', icon:'User' },
            },
            {
                path:'/acl/role',
                component:() => import('@/views/acl/role/index.vue'),
                name:'Role',
                // meta:{ title:'角色管理', icon:'UserFilled'}
                meta:{ title:'职位管理', icon:'UserFilled'}
            },
            {
                path:'/acl/permission',
                component:() => import('@/views/acl/permission/index.vue'),
                name:'Permission',
                meta:{ title:'菜单管理', icon:'Monitor'}
            },
        ]
    },
    {
        path:'/product',
        component:() => import('@/components/layout/index.vue'),
        name:'Product',
        redirect: '/product/Trademark', // 重定向（即访问一级路由的“根路径”时，自动跳转到该一级路由下面的第一个二级路由（在此处是“品牌管理”））
        meta:{
            title:'商品管理',
            icon:'Goods',
            // hidden:false,
        },
        // hidden:false,
        children:[
            {
                path:'/product/Trademark',
                component:() => import('@/views/product/trademark/index.vue'),
                name:'Trademark',
                meta:{ title:'品牌管理', icon:'ShoppingCartFull'},
            },
            {
                path:'/product/Attr',
                component:() => import('@/views/product/attr/index.vue'),
                name:'Attr',
                meta:{ title:'属性管理', icon:'ChromeFilled'},
            },
            {
                path:'/product/spu',
                component:() => import('@/views/product/spu/index.vue'),
                name:'Spu',
                meta:{ title:'SPU管理', icon:'Calendar'},
            },
            {
                path:'/product/sku',
                component:() => import('@/views/product/sku/index.vue'),
                name:'Sku',
                meta:{ title:'SKU管理', icon:'Orange'},
            },
        ]
    },
    {
        path:'/404',
        component:() => import('@/views/404/index.vue'),
        name:'404',
        meta:{
            title:'404',
            icon:'DocumentDelete',
            hidden:true,
        },
        // hidden:true,
        // hidden:false,
    },
    {   /* 注：在此处，文心快码解释了【为什么“/:pathMatch(.*)*”能捕获到除给定的三个路径以外的所有路径】：
        1.“:pathMatch(.*)*”的作用： 在vue-router中，pathMatch参数用于动态匹配路径。当使用:pathMatch(.*)*时，它会匹配所有不符合前面定义的静态路径的URL。这通常用于实现404页面或重定向。
        2.路由匹配顺序： vue-router会按照路由规则的顺序进行匹配。一旦找到一个匹配的路径，就不会继续检查后面的规则。因此，/:pathMatch(.*)*应该放在路由配置的最后，以确保它只捕获那些没有被前面规则匹配到的路径。
        3.对“/:pathMatch(.*)*”的解释：a.定义：在Vue Router中，/:pathMatch(.*)*是一个特殊的路由路径模式，用于捕获所有未明确匹配的路由路径。这里的:pathMatch是一个动态路由参数，而(.*)是一个正则表达式，表示匹配任意字符（包括零个字符）的序列。
        b.含义：1.“:pathMatch”：这是一个Vue Router中用于动态匹配的特殊参数，它允许你捕获路径的一部分，并将其作为参数传递给路由组件；
        2.“(.*)”：这是一个正则表达式，.表示匹配除换行符之外的任意单个字符，*表示匹配前面的字符零次或多次。因此，(.*)可以匹配任意长度的字符串。
        c.作用：1.捕获未定义路径：当请求的URL路径不匹配任何已定义的静态路径时，/:pathMatch(.*)*可以捕获这个路径，并将其重定向到某个默认页面（如404页面）。
        2.灵活性：它提供了一种灵活的方式来处理未预期的URL路径，避免了因路径未定义而导致的页面无法找到的问题。
        3.维护性：通过集中处理所有未定义路径，可以简化路由配置，提高代码的可维护性。↓ */
        path:'/:pathMatch(.*)*', // 捕获除上面三项以外的所有路由路径
        redirect:'404',
        name:'Any',
        meta:{title:'任意路由路径',icon:'DataLine',hidden:true},
        // hidden:true,
        // hidden:false,
    },
]